#pragma once

#include <string>
using namespace std;

//static const GUID GUID_DEVINTERFACE_LIST[] = 
//{
//	// GUID_DEVINTERFACE_USB_DEVICE
//	{ 0xA5DCBF10, 0x6530, 0x11D2, { 0x90, 0x1F, 0x00, 0xC0, 0x4F, 0xB9, 0x51, 0xED } },
//
//	// GUID_DEVINTERFACE_DISK
//	{ 0x53f56307, 0xb6bf, 0x11d0, { 0x94, 0xf2, 0x00, 0xa0, 0xc9, 0x1e, 0xfb, 0x8b } },
//
//	// GUID_DEVINTERFACE_HID, 
//	{ 0x4D1E55B2, 0xF16F, 0x11CF, { 0x88, 0xCB, 0x00, 0x11, 0x11, 0x00, 0x00, 0x30 } },
//
//	// GUID_NDIS_LAN_CLASS
//	{ 0xad498944, 0x762f, 0x11d0, { 0x8d, 0xcb, 0x00, 0xc0, 0x4f, 0xc3, 0x35, 0x8c } }
//};

typedef struct DEVICE_OUT_INFO{
	GUID  InterfaceClassGuid; //device interface guid.
	std::wstring wstrDevicePath;
	TCHAR szDevDisplayname[MAX_PATH];
	TCHAR szDescription[MAX_PATH];
	TCHAR szDevHardwareID[MAX_PATH];
	DWORD DevInst; //device instance handle.
} DevOutputInfo, PDevOutputInfo;

